export {};
/* 
    对象注解
    描述 JS 中对象的属性和方法

    建议：
    先正常书写完JS对象，利用vscode，把对象的注解给复制出来
*/

// 先定义了就可以使用，在对象中也一样
// let t: number = 10;
// t.toFixed();

type ObjType = {
  name: string;
  age: number;
  gender?: string;
  // 这两种方法的注解，可以混用
  sayhi(): void;
  add: (a: number, b: number) => number;
};

const obj: ObjType = {
  name: "zs",
  age: 20,
  sayhi() {},
  add: (a, b) => {
    return a + b;
  },
};
// 复用 ObjType
const obj2: ObjType = {
  name: "zs",
  age: 20,
  sayhi() {},
  add: (a, b) => {
    return a + b;
  },
};
